/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package agen.cruce;

/**
 *
 * @author juan
 */
public class MetodoCruceCombinado {

    protected int metodo;
    protected int porcentaje; //el uso de pocentajes y de probabilidades es mutuamente excluyente
    protected double probabilidad;
    protected int[] multipuntos; //en case de ser punto se usa el indice 0.
// <editor-fold defaultstate="collapsed" desc="Getters y Setters">

    public int getMetodo() {
        return metodo;
    }

    public void setMetodo(int metodo) {
        this.metodo = metodo;
    }

    public int getPorcentaje() {
        return porcentaje;
    }

    public void setPorcentaje(int porcentaje) {
        this.porcentaje = porcentaje;
    }

    public double getProbabilidad() {
        return probabilidad;
    }

    public void setMultipuntos(int[] multipuntos) {
        this.multipuntos = multipuntos;
    }

    public int[] getMultipuntos() {
        return multipuntos;
    }

    public void setProbabilidad(int probabilidad) {
        this.probabilidad = probabilidad;
    }
    // </editor-fold>
    public MetodoCruceCombinado(int metodo, int porcentaje){
        this.metodo = metodo;
        this.porcentaje = porcentaje;
        if (metodo != Cruce.METODO_BINOMIAL) {
            System.err.println("No especificó los puntos de corte.");
        }

    }

    public MetodoCruceCombinado(int metodo, int porcentaje, int[] multipuntos) {
        this.metodo = metodo;
        this.porcentaje = porcentaje;
        if (metodo != Cruce.METODO_BINOMIAL && multipuntos == null){
            System.err.println("No especificó los puntos de corte.");
            if (metodo != Cruce.METODO_MULTI_PUNTO && metodo != Cruce.METODO_PUNTO){
                System.err.println("Metodo invalido.");
            }
        }
        this.multipuntos = multipuntos;
    }

    public MetodoCruceCombinado(int metodo, double probabilidad, int[] multipuntos) {
        this.metodo = metodo;
        this.probabilidad = probabilidad;
        if (metodo != Cruce.METODO_BINOMIAL && multipuntos == null){
            System.err.println("No especificó los puntos de corte.");
            if (metodo != Cruce.METODO_MULTI_PUNTO && metodo != Cruce.METODO_PUNTO){
                System.err.println("Metodo invalido.");
            }
        }
        this.multipuntos = multipuntos;
    }
}
